﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace CBE.Model
{
    public partial class Productos : IDataErrorInfo
    {

        public static string DescripcionCompletaPropertyName = "DescripcionCompleta";
        public String DescripcionCompleta
        {
            get
            {
                if (String.IsNullOrEmpty(this.Presentacion))
                {
                    return String.Format("{0} - {1} {2}", this.Codigo, this.Descripcion, this.Marca);
                }
                return String.Format("{0}- {1} {2} ({3})", this.Codigo, this.Descripcion, this.Marca, this.Presentacion);
            }
        }

        public Productos()
            : base()
        {
            this.ID_Producto = Guid.NewGuid();
        }

        #region IDataErrorInfo Members

        public string Error
        {
            get { throw new NotImplementedException(); }
        }

        public string this[string columnName]
        {
            get
            {
                String error = null;

                if (columnName == "Codigo" && String.IsNullOrEmpty(Codigo))
                {
                    error = "El campo Código es de ingreso obligatorio.";
                }
                else if (columnName == "Marca" && String.IsNullOrEmpty(Marca))
                {
                    error = "El campo Marca es de ingreso obligatorio.";
                }
                else if (columnName == "Stock" && !Stock.HasValue)
                {
                    error = "El campo Stock Inicial es de ingreso obligatorio.";
                }
                else if (columnName == "PrecioUnitario" && !PrecioUnitario.HasValue)
                {
                    error = "El campo Precio Unitario es de ingreso obligatorio.";
                }
                else if (columnName == "Proveedores" && Proveedores == null)
                {
                    error = "El campo Proveedor es de ingreso obligatorio.";
                }
                else if (columnName == "FechaIncorporacion")
                {
                    if (!FechaIncorporacion.HasValue)
                    {
                        error = "El campo Fecha de Incorporación es de ingreso obligatorio.";
                    }
                }

                return error;
            }
        }

        #endregion
    }
}
